package com.itheima.quick_demo;

import com.itheima.domain.Student;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;
/*
   步骤:    建表
            -->导包
            -->domain类
            -->映射配置文件(StudentMapper.xml) src文件夹下
            -->核心配置文件(MyBatisConfig.xml) 同上
            -->测试类
 */

public class Demo {
    /*
    目标 : 造汽车
    思路 : 图纸 --> 工人 -- >工人 拿着 图纸 建工厂 --> 造汽车
     */
    public static void main(String[] args) throws IOException {

        //1.加载MyBatisConfig.xml核心配置文件
        InputStream is = Resources.getResourceAsStream("MyBatisConfig.xml");

        //2.创建SqlSessionFactoryBuilder
        SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();

        //3.使用SqlSessionFactoryBuilder创建SqlSessionFactory
        SqlSessionFactory factory = builder.build(is);

        //4.使用factory创建SqlSession
        SqlSession sqlSession = factory.openSession();

        //5.调用sqlSession方法查询
        List<Student> list = sqlSession.selectList("StudentMapper.selectAll");

        //6.处理结果
        for (Student stu : list) {
            System.out.println(stu);
        }

        //7.释放资源
        sqlSession.close();
        is.close();
    }

}
